<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

//namespace
/**
 * app/Providers/RouteServiceProvide.php
 * protected $namespace = 'App\\Http\\Controllers';
 *
 * Route::middleware('web')
 *  ->namespace($this->>namespace)
 */

Route::get('/','RootController@root')->name('home');



// 登录和退出
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

//用户注册相关路由
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

//密码重置相关路由
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');

//再次确认密码 (重要操作前提示)
Route::get('password/confirm', 'Auth\ConfirmPasswordController@showConfirmForm')->name('password.confirm');
Route::post('password/confirm', 'Auth\ConfirmPasswordController@confirm');

//邮箱认证相关路由
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::post('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');


//用户管理
Route::resource('users','UsersController')->only(['show','edit','update']);

//帖子管理
Route::resource('topics','TopicController')->except(['show']);
Route::get('topics/{topic}/{slug?}','TopicController@show')->name('topics.show');
Route::post('upload_image','TopicController@uploadImage')->name('topics.upload_image');

//分类管理
Route::resource('categories','CategoryController')->only('show');


//评论管理
Route::resource('replies','ReplyController')->only('store','destroy');

//消息通知
Route::resource('notifications','NotificationController')->only('index');

//权限拒绝
Route::get('permission-denied',"RootController@permissionDenied")->name('permission-denied');

